// useCesium.js
import * as cesium from "cesium"; // 引入cesium.js库
// cesium的Token，联网开发时用来请求官方的地图和地形资源时认证用，断网时，自己搭建的地形和地图资源则无所谓。
// import.meta.env.VITE_CESIUM_TOKEN：请在cesium官网注册申请自己的TOKEN，否则官方的地图资源无法加载。
cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI2ZTE3ZWEyOC0xNTI5LTQyYzAtOGUzYS1iNzc1ZmY2M2I4ZjMiLCJpZCI6MjIxNzI5LCJpYXQiOjE3NDc1NjM4NjV9.blX21Lyg46-sivAAJAsv0kT2iDHBs8fmIe_l4hkPc88';
// cesium配置项
export const options = {
  infoBox: false, // 信息展示框（默认右下角弹窗）
  selectionIndicator: false, // 选择指示器（选中实体时的黄色选框）
  animation: false,   // 动画控制组件（时间轴上方播放按钮）
  baseLayerPicker: false, // 底图切换面板（包含影像/地形图切换）
  geocoder: false, // 地理编码搜索框（右上角搜索按钮）
  navigationHelpButton: false, // 导航帮助面板（问号图标操作指南）
  fullscreenButton: false, // 全屏切换按钮（右下角全屏控件）
  homeButton: false, // 复位视角按钮（默认返回初始视角）
  sceneModePicker: false,  // 场景模式切换（2D/3D/哥伦布视图切换）
  timeline: false,  // 时间轴控件（底部时间进度条）
  shadows: true, // 阴影渲染开关（影响模型/地形的光影效果）
  shouldAnimate: true, // 自动动画开关（控制时钟自动推进）
};
/**
 * cesium初始化
 * @param {HTMLElement} element 
 * @returns {viewer} viewer
 */
export const useCesium = (element) => {
  const viewer = new cesium.Viewer(element, {
    ...options,
  });
  // 去除logo
  const creditContainer = viewer.cesiumWidget.creditContainer;
  creditContainer.style.display = "none";
  //关闭大气
  viewer.scene.skyAtmosphere.show = false;
  //抗锯齿
  viewer.scene.postProcessStages.fxaa.enabled = true;
  viewer.scene.screenSpaceCameraController.enableCollisionDetection = false;
  // 删除左键双击，右键单击
  viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(
    cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK
  );
  viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(
    cesium.ScreenSpaceEventType.RIGHT_CLICK
  );
  return viewer;
};
